lambda-calculus - определение. Что такое lambda-calculus
Diclib.com
Словарь ChatGPT
Введите слово или словосочетание на любом языке 👆
Язык:

Перевод и анализ слов искусственным интеллектом ChatGPT

На этой странице Вы можете получить подробный анализ слова или словосочетания, произведенный с помощью лучшей на сегодняшний день технологии искусственного интеллекта:

  • как употребляется слово
  • частота употребления
  • используется оно чаще в устной или письменной речи
  • варианты перевода слова
  • примеры употребления (несколько фраз с переводом)
  • этимология

Что (кто) такое lambda-calculus - определение

FORMAL SYSTEM IN MATHEMATICAL LOGIC
Lamda calculus; Lambda-calculus; Lambda abstraction; Lambda-definable function; Lambda-definable functions; Lambda calculas; Beta reduction; Alpha conversion; Lambda-recursive function; Lambda programming; Eta reduction; Lambda Calculus; Untyped lambda calculus; Λ-calculus; Alpha equivalence; Eta expansion; Abstraction operator; Alpha reduction; Beta substitution; Beta conversion; Α conversion; Λ calculus; Β-reduction; B-reduction; L-calculus; L calculus; A conversion; Beta-reduction; Λa-calculus; Lanbda-calculus; Lambda kalkül; Alpha renaming; Lambda calculi; Λ-abstraction; AlphaRenaming; Α-conversion; Capture-avoiding substitution; Lambda term; Lamda expression; Alpha-renaming; Alpha-conversion; Eta conversion; Eta-conversion; Η-conversion; Η conversion; Lambda language; Type-free lambda calculus; Typefree lambda calculus; Type free lambda calculus; Eta-reduction; Functional abstraction; Λx; Λy; Λz; Anonymous function abstraction; Lambda-calculi; Lambda-term bound variables; Lambda terms; Alpha equivalent
Найдено результатов: 391
lambda-calculus         
<mathematics> (Normally written with a Greek letter lambda). A branch of mathematical logic developed by Alonzo Church in the late 1930s and early 1940s, dealing with the application of functions to their arguments. The pure lambda-calculus contains no constants - neither numbers nor mathematical functions such as plus - and is untyped. It consists only of lambda abstractions (functions), variables and applications of one function to another. All entities must therefore be represented as functions. For example, the natural number N can be represented as the function which applies its first argument to its second N times (Church integer N). Church invented lambda-calculus in order to set up a foundational project restricting mathematics to quantities with "effective procedures". Unfortunately, the resulting system admits Russell's paradox in a particularly nasty way; Church couldn't see any way to get rid of it, and gave the project up. Most functional programming languages are equivalent to lambda-calculus extended with constants and types. Lisp uses a variant of lambda notation for defining functions but only its purely functional subset is really equivalent to lambda-calculus. See reduction. (1995-04-13)
Lambda calculus         
Lambda calculus (also written as λ-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation that can be used to simulate any Turing machine.
beta conversion         
<theory> A term from lambda-calculus for beta reduction or beta abstraction. (1999-01-15)
alpha conversion         
<theory> In lambda-calculus and reduction, the renaming of a formal parameter in a lambda abstraction. This does not change the meaning of the abstraction. For example: x . x+1 <--> y . y+1 If the actual argument to a lambda abstraction contains instances of the abstraction's formal parameter then it is necessary to rename the parameter before applying the abstraction to avoid name capture. (1995-05-10)
eta reduction         
lambda abstraction         
A term in lambda-calculus denoting a function. A lambda abstraction begins with a lower-case lambda (represented as "" in this document), followed by a variable name (the "bound variable"), a full stop and a lambda expression (the body). The body is taken to extend as far to the right as possible so, for example an expression, x . y . x+y is read as x . ( y . x+y). A nested abstraction such as this is often abbreviated to: x y . x + y The lambda expression ( v . E) denotes a function which takes an argument and returns the term E with all free occurrences of v replaced by the actual argument. Application is represented by juxtaposition so ( x . x) 42 represents the identity function applied to the constant 42. A lambda abstraction in Lisp is written as the symbol lambda, a list of zero or more variable names and a list of zero or more terms, e.g. (lambda (x y) (plus x y)) Lambda expressions in Haskell are written as a backslash, "", one or more patterns (e.g. variable names), "->" and an expression, e.g. x -> x. (1995-01-24)
beta reduction         
[lambda-calculus] The application of a {lambda abstraction} to an argument expression. A copy of the body of the lambda abstraction is made and occurrences of the {bound variable} being replaced by the argument. E.g. ( x . x+1) 4 --> 4+1 Beta reduction is the only kind of reduction in the {pure lambda-calculus}. The opposite of beta reduction is {beta abstraction}. These are the two kinds of beta conversion. See also name capture.
eta conversion         
<theory> In lambda-calculus, the eta conversion rule states x . f x <--> f provided x does not occur as a free variable in f and f is a function. Left to right is eta reduction, right to left is eta abstraction (or eta expansion). This conversion is only valid if bottom and x . bottom are equivalent in all contexts. They are certainly equivalent when applied to some argument - they both fail to terminate. If we are allowed to force the evaluation of an expression in any other way, e.g. using seq in Miranda or returning a function as the overall result of a program, then bottom and x . bottom will not be equivalent. See also observational equivalence, reduction.
eta expansion         
Deductive lambda calculus         
User:Thepigdog/Deductive lambda calculus
Deductive lambda calculus considers what happens when lambda terms are regarded as mathematical expressions. One interpretation of the untyped lambda calculus is as a programming language where evaluation proceeds by performing reductions on an expression until it is in normal form.

Википедия

Lambda calculus

Lambda calculus (also written as λ-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation that can be used to simulate any Turing machine. It was introduced by the mathematician Alonzo Church in the 1930s as part of his research into the foundations of mathematics.

Lambda calculus consists of constructing lambda terms and performing reduction operations on them. In the simplest form of lambda calculus, terms are built using only the following rules:

  • x {\displaystyle x} – variable, a character or string representing a parameter or mathematical/logical value.
  • ( λ x . M ) {\textstyle (\lambda x.M)} – abstraction, function definition ( M {\textstyle M} is a lambda term). The variable x {\textstyle x} becomes bound in the expression.
  • ( M   N ) {\displaystyle (M\ N)} – application, applying a function M {\textstyle M} to an argument N {\textstyle N} . Both M {\textstyle M} and N {\textstyle N} are lambda terms.

The reduction operations include:

  • ( λ x . M [ x ] ) ( λ y . M [ y ] ) {\textstyle (\lambda x.M[x])\rightarrow (\lambda y.M[y])} – α-conversion, renaming the bound variables in the expression. Used to avoid name collisions.
  • ( ( λ x . M )   E ) ( M [ x := E ] ) {\textstyle ((\lambda x.M)\ E)\rightarrow (M[x:=E])} – β-reduction, replacing the bound variables with the argument expression in the body of the abstraction.

If De Bruijn indexing is used, then α-conversion is no longer required as there will be no name collisions. If repeated application of the reduction steps eventually terminates, then by the Church–Rosser theorem it will produce a β-normal form.

Variable names are not needed if using a universal lambda function, such as Iota and Jot, which can create any function behavior by calling it on itself in various combinations.